Computing Boolean Combinations of Solids Composed of Free-form Surfaces
نویسندگان
چکیده
We present e cient and accurate algorithms for Boolean combinations of solids composed of sculptured models. The surface of each solid is represented as a collection of trimmed and untrimmed spline surfaces and a connectivity graph. Based on algorithms for trapezoidation of polygons, partitioning of polygons using polygonal chains, surface intersection of high degree spline surfaces and ray-shooting, the boundaries of the resulting solids and its connectivity graph after the Boolean operation are computed. The algorithm has been implemented and its performance measured on a number of industrial models. Supported in part by an Alfred P. Sloan Foundation Fellowship, ARO Contract P-34982-MA, NSF Grant CCR-9319957, NSF Grant CCR-9625217, ONR Contract N00014-94-1-0738, ARPA Contract DABT63-93-C-0048 and NSF/ARPA Center for Computer Graphics and Scienti c Visualization INTRODUCTION The eld of solid modeling deals with design and representation of physical objects. The two major representation schemata used in solid modeling are constructive solid geometry (CSG) and boundary representations (Brep). Both these representations have di erent inherent strengths and weaknesses, and for most applications both are desired. Currently, most solid modelers are able to support solids composed of polyhedral models and quadric surfaces (like spheres, cylinders etc.) and their Boolean combinations. The eld of geometric modeling has been developed to model classes of piecewise surfaces based on particular conditions of shape and smoothness. Such models are referred to as sculptured models. Over the last few years, modeling using free-form surfaces has become quite indispensable throughout the commercial CAD/CAM/CAE industry. On the research front, there has been considerable e ort in integrating geometric and solid modeling [Kal82, Jar84, CK83, VP84, KGI84, FH85, Far86]. In particular, there is a lot of interest in building complete solid representations from spline surfaces and their Boolean combinations [Hof89, RR92, CS85, Cas87, Wei85, RV82, Cha87, Men92]. However, the major bottleneck is in performing robust, efcient and accurate Boolean operations on the sculptured models. According to Ho mann [Hof89]: \The di culty of evaluating and representing the intersection of parametric surface patches has hindered the development of solid modelers that incorporate parametric surface patches". The 1 Copyright c 1996 by ASME topology of a surface patch becomes quite complicated when a number of Boolean operations are performed and nding a convenient representation for these topologies has been a major challenge. As a result, some solid modelers use polyhedral approximations to these surfaces and apply existing algorithms to design and manipulate these polyhedral objects. Not only does this lead to data proliferation, but the resulting algorithms are ine cient and inaccurate. In this paper we restrict ourselves to solid models composed of piecewise parametric or spline surfaces. The techniques presented can also be generalized to all algebraic surfaces. Most of the recent work in the literature on Boolean combinations of curved models has focussed on computing the surface intersection between a pair of Bspline or B ezier surfaces [KS88, SN91, Nat90, Hoh92, MC91, KPW90, BHHL88, BK90, KM94]. However, the algebraic degree of the resulting curve can typically be very high (up to 324 for a pair of bicubic B ezier surfaces) and the genus is also non-zero [KS88]. Hence, it is very di cult to represent the intersection curve analytically and the current methods are aimed at computing approximations to the intersection curve. The main techniques for approximation can be classi ed into subdivision, analytic and marching methods. Currently, techniques based on marching methods combined with loop detection, handling singularities and component jumping are able to robustly compute the intersections between a pair of surfaces, for non-degenerate intersections [Hoh92, KM94, SN91]. In this paper, we present algorithms for representation and computation of Boolean operations on CSG models. Every CSG object is built from a set of primitive objects which are of a simpler structure, and we assume that each of these primitives is an oriented solid representable as a collection of parametric surface patches. An example of a CSG tree is shown in g. 1. The class of models that can be used include all polyhedral models, primitive solids like cones, spheres, cylinders, generalized prisms and pyramids, and tori. Each intermediate and nal solid in the CSG hierarchy is represented as a collection of trimmed surface patches. Every trimmed patch contains a closed trimming curve on its domain which unambiguously determines which part of the surface is to be retained. We also create a connectivity graph that maintains the connectivity information between the various surfaces composing the solid (in other words, we maintain both geometric and topological information about the solid). Overview of Algorithm: The entire algorithm proceeds in two steps. Initially, the complete intersection curve between the two solids (at each level in the CSG tree) is determined. If the set operation on the two solids is wellde ned, the intersection curve partitions the surface of the solid. The second step of the algorithmuses the graph strucFigure 1. Part of a CSG tree of the roller model ture of each solid, and depending on the set operation, computes the new solid and its associated graph structure. The overall algorithm makes use of a number of recently developed algorithms for linear programming, trapezoidation of polygons, partition of polygonal domains and ray-shooting to compute the resulting solid e ciently. The rest of the paper is organized in the following manner. Brief descriptions of some of the algebraic, geometric and numeric algorithms used by our algorithmare presented in section 2. Section 3 discusses the various representation issues and data structures that are needed. A brief description of our new surface intersection algorithm is given in section 4. The entire algorithm is sketched for one Boolean operation in section 5. Section 6 describes the implementation of our algorithm on certain industrial models.
منابع مشابه
Eecient Representations and Techniques for Computing B-rep's of Csg Models with Nurbs Primitives
We present eecient and accurate algorithms for Boolean combinations of solids composed of sculptured models. The surface of each solid is represented as a collection of trimmed and untrimmed spline surfaces and a connectivity graph. Based on algorithms for trapezoidation of polygons, partitioning of polygons using polygonal chains, surface intersection of high degree spline surfaces and ray-sho...
متن کاملE cient representations and techniques for computing B-rep's of CSG models with NURBS primitives
We present e cient and accurate algorithms for Boolean combinations of solids composed of sculptured models. The surface of each solid is represented as a collection of trimmed and untrimmed spline surfaces and a connectivity graph. Based on algorithms for trapezoidation of polygons, partitioning of polygons using polygonal chains, surface intersection of high degree spline surfaces and ray-sho...
متن کاملBOOLE A System to Compute Boolean Combinations of Sculptured Solids
We present a system to compute Boolean combinations of sculptured solids The surface of each solid is represented as a collection of trimmed and untrimmed spline surfaces and a connectivity graph Based on algorithms for trapezoidation of polygons partitioning of polygons using polygonal chains surface intersection of high degree spline surfaces and ray shooting we compute the boundaries of the ...
متن کامل2 Boundary Computation of Csg Models with Nurbs Primitives
We present eecient and accurate algorithms for Boolean combinations of solids composed of sculptured models. The boundary of each solid is represented as a collection of trimmed spline surfaces and a connectivity graph. Based on algorithms for trapezoidation of polygons , partitioning of polygons using polygonal chains, surface intersection of high degree spline surfaces and ray-shooting, the b...
متن کاملRepresentation, Boundary Computation and Fast Display of CSG Models with NURBS Primitives
We present e cient and accurate algorithms for Boolean combinations of solids composed of sculptured models. The boundary of each solid is represented as a collection of trimmed spline surfaces and a connectivity graph. Based on algorithms for trapezoidation of polygons, partitioning of polygons using polygonal chains, surface intersection of high degree spline surfaces and ray-shooting, the bo...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1996